package org.example.top40;

import java.util.HashMap;
import java.util.Scanner;

public class main01 {
    //给定一个字符串 s ，请你找出其中不含有重复字符的 最长 子串 的长度
    //左右指针+map+max map放后比较>1 map减去对应大于1的直到为1停止，l++
    //两个while 都是用r ！！！
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int len=lengthOfLongest(s);
        System.out.println(len);
    }

    private static int lengthOfLongest(String s) {
        int l=0,r=0;
        int best=0;
        int len=s.length();
        HashMap<Character, Integer> map = new HashMap<>();
        while (r<len){
            map.put(s.charAt(r),map.getOrDefault(s.charAt(r),0)+1);
            while(map.get(s.charAt(r))>1){
                map.put(s.charAt(l),map.get(s.charAt(l))-1);
                l++;
            }
            best=Math.max(best,r-l+1);
            r++;
        }
        return best;
    }


/*    public static void main(String[] args) {
        String s="abcabcbb";
        int l=0,r=0;
        int len=s.length();
        int best=0;
        HashMap<Character, Integer> map = new HashMap<>();
        while (r<len){
            map.put(s.charAt(r),map.getOrDefault(s.charAt(r),0)+1);
            while(map.get(s.charAt(r))>1){
                map.put(s.charAt(l),map.get(s.charAt(l))-1);
                l++;
            }
            best=Math.max(best,r-l+1);
            r++;
        }
        System.out.println(best);
    }*/
}
